.\" Copyright 1997-2014 Glyph & Cog, LLC
.TH pdftotext 1 "28 May 2014"
.SH NAME
pdftotext \- Portable Document Format (PDF) to text converter
(version 3.04)
.SH SYNOPSIS
.B pdftotext
[options]
.RI [ PDF-file
.RI [ text-file ]]
.SH DESCRIPTION
.B Pdftotext
converts Portable Document Format (PDF) files to plain text.
.PP
Pdftotext reads the PDF file,
.IR PDF-file ,
and writes a text file,
.IR text-file .
If
.I text-file
is not specified, pdftotext converts
.I file.pdf
to
.IR file.txt .
If 
.I text-file
is \'-', the text is sent to stdout.
.SH CONFIGURATION FILE
Pdftotext reads a configuration file at startup.  It first tries to
find the user's private config file, ~/.xpdfrc.  If that doesn't
exist, it looks for a system-wide config file, typically
/usr/local/etc/xpdfrc (but this location can be changed when pdftotext
is built).  See the
.BR xpdfrc (5)
man page for details.
.SH OPTIONS
Many of the following options can be set with configuration file
commands.  These are listed in square brackets with the description of
the corresponding command line option.
.TP
.BI \-f " number"
Specifies the first page to convert.
.TP
.BI \-l " number"
Specifies the last page to convert.
.TP
.B \-layout
Maintain (as best as possible) the original physical layout of the
text.  The default is to \'undo' physical layout (columns,
hyphenation, etc.) and output the text in reading order.  If the
.B \-fixed
option is given, character spacing within each line will be determined
by the specified character pitch.
.TP
.B \-table
Table mode is similar to physical layout mode, but optimized for
tabular data, with the goal of keeping rows and columns aligned (at
the expense of inserting extra whitespace).  If the
.B \-fixed
option is given, character spacing within each line will be determined
by the specified character pitch.
.TP
.B \-lineprinter
Line printer mode uses a strict fixed-character-pitch and -height
layout.  That is, the page is broken into a grid, and characters are
placed into that grid.  If the grid spacing is too small for the
actual characters, the result is extra whitespace.  If the grid
spacing is too large, the result is missing whitespace.  The grid
spacing can be specified using the
.B \-fixed
and
.B \-linespacing
options.
If one or both are not given on the command line, pdftotext will
attempt to compute appropriate value(s).
.TP
.B \-raw
Keep the text in content stream order.  Depending on how the PDF file
was generated, this may or may not be useful.
.TP
.BI \-fixed " number"
Specify the character pitch (character width), in points, for physical
layout, table, or line printer mode.  This is ignored in all other
modes.
.TP
.BI \-linespacing " number"
Specify the line spacing, in points, for line printer mode.  This is
ignored in all other modes.
.TP
.B \-clip
Text which is hidden because of clipping is removed before doing
layout, and then added back in.  This can be helpful for tables where
clipped (invisible) text would overlap the next column.
.TP
.BI \-enc " encoding-name"
Sets the encoding to use for text output.  The
.I encoding\-name
must be defined with the unicodeMap command (see
.BR xpdfrc (5)).
The encoding name is case-sensitive.  This defaults to "Latin1" (which
is a built-in encoding).
.RB "[config file: " textEncoding ]
.TP
.BI \-eol " unix | dos | mac"
Sets the end-of-line convention to use for text output.
.RB "[config file: " textEOL ]
.TP
.B \-nopgbrk
Don't insert page breaks (form feed characters) between pages.
.RB "[config file: " textPageBreaks ]
.TP
.BI \-opw " password"
Specify the owner password for the PDF file.  Providing this will
bypass all security restrictions.
.TP
.BI \-upw " password"
Specify the user password for the PDF file.
.TP
.B \-q
Don't print any messages or errors.
.RB "[config file: " errQuiet ]
.TP
.BI \-cfg " config-file"
Read
.I config-file
in place of ~/.xpdfrc or the system-wide config file.
.TP
.B \-v
Print copyright and version information.
.TP
.B \-h
Print usage information.
.RB ( \-help
and
.B \-\-help
are equivalent.)
.SH BUGS
Some PDF files contain fonts whose encodings have been mangled beyond
recognition.  There is no way (short of OCR) to extract text from
these files.
.SH EXIT CODES
The Xpdf tools use the following exit codes:
.TP
0
No error.
.TP
1
Error opening a PDF file.
.TP
2
Error opening an output file.
.TP
3
Error related to PDF permissions.
.TP
99
Other error.
.SH AUTHOR
The pdftotext software and documentation are copyright 1996-2014 Glyph
& Cog, LLC.
.SH "SEE ALSO"
.BR xpdf (1),
.BR pdftops (1),
.BR pdftohtml (1),
.BR pdfinfo (1),
.BR pdffonts (1),
.BR pdfdetach (1),
.BR pdftoppm (1),
.BR pdftopng (1),
.BR pdfimages (1),
.BR xpdfrc (5)
.br
.B http://www.foolabs.com/xpdf/
